// #include "../source/server.hpp"
// #include <ctime>
// #include <random>
// static std::unordered_map<uint64_t, PtrConnection> _conns;
// static uint64_t id = 0;
// EventLoop *baseloop = new EventLoop();
// LoopThreadPoll *_loop_pool;
// void OnConnect(const PtrConnection &conn)
// {
//     DBG_LOG("NEW CONNECTION:%p\n", conn.get());
// }
// void DestoryConnect(const PtrConnection &conn)
// {
//     _conns.erase(conn->Id());
// }
// void OnMessage(const PtrConnection &conn, Buffer *buf)
// {
//     DBG_LOG("%s\n", buf->GetReadPosion());
//     buf->MoveReadOffset(buf->ReadAbleSize());
//     std::string str = "hello";
//     conn->Send(str.c_str(), str.size());
// }
// void NewConnection(int fd)
// {
//     id++;
//     PtrConnection conn(new Connection(_loop_pool->NextLoop(), id, fd));
//     conn->SetMessageCallback(std::bind(OnMessage, std::placeholders::_1, std::placeholders::_2));
//     conn->SetConnectedCallback(std::bind(OnConnect, std::placeholders::_1));
//     conn->SetSrvClosedCallback(std::bind(DestoryConnect, std::placeholders::_1));
//     conn->Established();
//     conn->EnableInactiveRelease(10);
//     _conns.insert(std::make_pair(id, conn));
//     DBG_LOG("NEW.............................\n");
// }

// int main(int argc, char *argv[])
// {
//     uint16_t port = std::stoi(argv[1]);
//     _loop_pool = new LoopThreadPoll(baseloop);
//     _loop_pool->SetThreadPoolCounts(2);
//     _loop_pool->Create();
//     Acceptor _acceptor(baseloop, port);
//     _acceptor.SetAcceptorCallBack(std::bind(&NewConnection, std::placeholders::_1));
//     _acceptor.Listen();
//     baseloop->Start();
//     return 0;
// }